package com.powerbank.user.dto;

import lombok.Data;

import jakarta.validation.constraints.DecimalMax;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 附近设备查询请求DTO
 */
@Data
public class NearbyDeviceQueryDTO {

    /**
     * 用户当前经度
     */
    @NotNull(message = "经度不能为空")
    @DecimalMin(value = "-180.0", message = "经度范围为-180到180")
    @DecimalMax(value = "180.0", message = "经度范围为-180到180")
    private BigDecimal longitude;

    /**
     * 用户当前纬度
     */
    @NotNull(message = "纬度不能为空")
    @DecimalMin(value = "-90.0", message = "纬度范围为-90到90")
    @DecimalMax(value = "90.0", message = "纬度范围为-90到90")
    private BigDecimal latitude;

    /**
     * 搜索半径（公里），默认3公里
     */
    private Double radius = 3.0;

    /**
     * 设备状态筛选：null-全部，1-正常，2-维护中
     */
    private Integer deviceStatus;

    /**
     * 是否只显示有可用充电宝的设备
     */
    private Boolean onlyAvailable = false;
}